//#define  _CRT_SECURE_NO_WARNINGS
//#include "sort.h"
//void AdjustDown(int* a, int size, int root) {
//	int parent = root;
//	int child = parent * 2 + 1;
//	while (child < size) {
//		if (child + 1 < size && a[child + 1] > a[child]) {
//			++child;
//		}
//		if (a[child] > a[parent]) {
//			Swap(&a[child], &a[parent]);
//			parent = child;
//			child = parent * 2 + 1;
//		}
//		else {
//			break;
//		}
//	}
//}
//void HeapSort(int* a, int n) {
//	for (int i = (n-1-1)/2; i >=0; i--) {
//		AdjustDown(a, n, i);
//	}
//	int end = n - 1;
//	while (end > 0) {
//		Swap(&a[end], &a[0]);
//		AdjustDown(a, end, 0);
//		--end;
//	}
//}
//int main() {
//	int a[] = { 2,3,4,1,5,6,8 };
//	int n = sizeof(a) / sizeof(a[0]);
//	HeapSort(a, n);
//	PrintArray(a, n);
//	return 0;
//}